package com.situ.dao;

import com.situ.bean.Cart;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface CartMapper {

    // 根据用户ID和商品ID查询购物车中的商品
    @Select("SELECT * FROM cart WHERE userid = #{userid} AND productid = #{productid}")
    Cart findByUseridAndProductid(@Param("userid") int userid, @Param("productid") int productid);

    // 查询某个用户的所有购物车商品
    @Select("SELECT * FROM cart WHERE userid = #{userid}")
    List<Cart> findByUserid(int userid);

    // 添加商品到购物车
    @Insert("INSERT INTO cart (userid, productid, number) VALUES (#{userid}, #{productid}, #{number})")
    void addCartItem(Cart cart);

    // 更新购物车中商品的数量
    @Update("UPDATE cart SET number = #{number} WHERE userid = #{userid} AND productid = #{productid}")
    void updateCartItem(Cart cart);

    // 删除购物车中的某个商品
    @Delete("DELETE FROM cart WHERE userid = #{userid} AND productid = #{productid}")
    void deleteCartItem(@Param("userid") int userid, @Param("productid") int productid);

    // 清空某个用户的购物车
    @Delete("DELETE FROM cart WHERE userid = #{userid}")
    void clearCart(int userid);
}